package model;

import java.awt.Point;

/**
 * 
 * @author Charlie Hatcher
 * 
 */
public abstract class AbstractPen {

	protected boolean MyPenUp = true;
	protected boolean MyPenLevel;
	private Model myModel;

	/**
	 * the pen's default level is to have the pen down
	 */
	public AbstractPen(Model model) {
		MyPenLevel = MyPenUp;
		myModel = model;
	}

	/**
	 * Sets whether the pen is up or down based on user preference
	 * 
	 * @param level
	 */
	public void setLevel(boolean level) {
		MyPenLevel = level;
	}

	public boolean getLevel() {
		return MyPenLevel;
	}

	protected Model getModel() {
		return myModel;
	}

	public abstract void drawLineMovement(Pixmap pixmap, int speed,
			Point starting, int dx, int dy);

}
